package demo1230.am;

/*
接口1.8新特性
从jdk1.8开始，接口里允许定义默认方法
格式：default 返回值类型 方法名(参数列表){ 方法体 }
为什么要定义默认方法？为了解决接口升级的问题

什么是接口升级？
如果当前有一个接口，并且n多个类实现了这个接口；而当接口再次添加抽象方法的时候
多个实现类就会报错。而出现了默认方法就解决了这个问题

从jdk1.8开始，接口可以定义静态方法
格式：public static 返回值类型 方法名称(参数列表){ 方法体 }
调用：直接 接口名.方法名 调用，与普通静态方法的调用一样(不能通过接口实现类的对象
来调用接口中的静态方法)
 */
public class Demo_03 {
    public static void main(String[] args) {
        Zi zi = new Zi();
        zi.a();
        zi.haha(234);
        Fu.test();
    }
}

interface Fu {
    void a();

    default void haha(int a) {
        System.out.println("tyuiop:" + a);
    }

    public static void test() {
        System.out.println("123567890-");
    }
}

class Zi implements Fu {

    @Override
    public void a() {
        System.out.println("aaaaa-----");
    }
}